public class Test {     //逻辑控制完+方法
    public static void main(String[] args) {    //返回值的作用
        System.out.println(func1(3, 5));
        func2(2, 4);
        System.out.println("======================");
        int ret = func1(3, 5);
        System.out.println(maxNum(ret, 5)); //有 返回值 就可以支持 链式表达式
    }

    public static int func1(int a, int b) {
        return a + b;
    }

    public static void func2(int a, int b) {
        System.out.println(a + b);
    }

    public static int maxNum(int a, int b) {
        return a > b ? a : b;
    }

    public static void main2(String[] args) {  //使用方法的好处之一：模块化组织代码，易于管理
        System.out.println(facSum(5));      //快捷键：有返回值的方法.sout + 回车
    }

    public static int facSum(int n) {           //求1~n的阶乘之和
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += fac(i);
        }
        return sum;
    }

    public static int fac(int n) {              //求n的阶乘
        int ret = 1;
        for (int i = 1; i <= n; i++) {
            ret *= i;
        }
        return ret;
    }

    public static void main1(String[] args) {    //使用调试测试返回值
        int year = 2024;
        boolean flag = is_LeapYear(year);
        if(flag) {
            System.out.println("是闰年");
        }
    }

    public static int add(int x, int y) {       //返回两数之和
        int ret = x+y;
        return ret;
    }

    /**
     * 方法名采用小驼峰的形式 如：maxNum
     * @param year 年
     * @return
     */
    public static boolean is_LeapYear(int year) {//判断闰年
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            return true;
        }else {
            return false;
        }
    }
}
